<!doctype html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../assert_selection.js"></script>
<script>

selection_test(
  '<div contenteditable dir="ltr">|ab<span>c\u05D0\u05D1\u05D2def</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="ltr">|ab<span>c\u05D0\u05D1\u05D2def</span></div>',
  '31-0 ltr left character');

selection_test(
  '<div contenteditable dir="ltr">a|b<span>c\u05D0\u05D1\u05D2def</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="ltr">|ab<span>c\u05D0\u05D1\u05D2def</span></div>',
  '31-1 ltr left character');

selection_test(
  '<div contenteditable dir="ltr">ab|<span>c\u05D0\u05D1\u05D2def</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="ltr">a|b<span>c\u05D0\u05D1\u05D2def</span></div>',
  '31-2 ltr left character');

selection_test(
  '<div contenteditable dir="ltr">ab<span>|c\u05D0\u05D1\u05D2def</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="ltr">a|b<span>c\u05D0\u05D1\u05D2def</span></div>',
  '31-3 ltr left character');

selection_test(
  '<div contenteditable dir="ltr">ab<span>c|\u05D0\u05D1\u05D2def</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="ltr">ab|<span>c\u05D0\u05D1\u05D2def</span></div>',
  '31-4 ltr left character');

selection_test(
  '<div contenteditable dir="ltr">ab<span>c\u05D0|\u05D1\u05D2def</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="ltr">ab<span>c|\u05D0\u05D1\u05D2def</span></div>',
  '31-5 ltr left character');

selection_test(
  '<div contenteditable dir="ltr">ab<span>c\u05D0\u05D1|\u05D2def</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="ltr">ab<span>c\u05D0|\u05D1\u05D2def</span></div>',
  '31-6 ltr left character');

selection_test(
  '<div contenteditable dir="ltr">ab<span>c\u05D0\u05D1\u05D2|def</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="ltr">ab<span>c\u05D0\u05D1|\u05D2def</span></div>',
  '31-7 ltr left character');

selection_test(
  '<div contenteditable dir="ltr">ab<span>c\u05D0\u05D1\u05D2d|ef</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="ltr">ab<span>c\u05D0\u05D1\u05D2|def</span></div>',
  '31-8 ltr left character');

selection_test(
  '<div contenteditable dir="ltr">ab<span>c\u05D0\u05D1\u05D2de|f</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="ltr">ab<span>c\u05D0\u05D1\u05D2d|ef</span></div>',
  '31-9 ltr left character');

selection_test(
  '<div contenteditable dir="ltr">ab<span>c\u05D0\u05D1\u05D2def|</span></div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="ltr">ab<span>c\u05D0\u05D1\u05D2de|f</span></div>',
  '31-10 ltr left character');

selection_test(
  '<div contenteditable dir="ltr">ab<span>c\u05D0\u05D1\u05D2def</span>|</div>',
  selection => selection.modify('move', 'left', 'character'),
  '<div contenteditable dir="ltr">ab<span>c\u05D0\u05D1\u05D2de|f</span></div>',
  '31-11 ltr left character');
</script>
